Conversation
e518f3a to
53d219d
Compare
|
may 26 2022 discussion:
|
|
Other possible solution if this drag on too much, revert 04e7e95 in |
There was a problem hiding this comment.
I'm moving this to 0.15: this needs end-to-end regression tests so we are not surprised when something changes deep in one of libp2p deps. We want tests for two cases:
- confirm two nodes exchange 2MiB block
- confirm two nodes are unable to exchange 2MiB+1 byte block
|
What's the priority of this? What is motivating this work? |
|
|
This still needs tests described in #8968 (review) |
|
I know, I didn't took time to wrote them yet. |
53d219d to
3dd2098
Compare
I didnt do this because we don't really have consensus on this: ipfs/specs#331 (comment) |
This is needed because the 1MiB limit is the chunker limit, however the actual blocks can be wrapped in protobuf which adds a small ~10 byte overhead.
3dd2098 to
efc758a
Compare
|
Can we close this? |
|
The number is still 1MiB in master: kubo/core/commands/cmdutils/utils.go Line 17 in 3a6b1ee Here is the repro: hugo@rikus /tmp> truncate -s1GiB a
hugo@rikus /tmp> ipfs add --chunker=size-(math 1024\*1024) a
...
added Qmd7wspr7c4F6kAoaXqMiXsw6PBKGU3c7u8RAWMhuaF6vc a
hugo@rikus /tmp> ipfs dag export Qmd7wspr7c4F6kAoaXqMiXsw6PBKGU3c7u8RAWMhuaF6vc > a.car
...
hugo@rikus /tmp> ipfs dag import a.car
Error: import failed at block "QmW5Wc6v9jMsvCDPJaFQxFmzprWthSL7getyav31oLwAeP": produced block is over 1MiB: big blocks can't be exchanged with other peers. consider using UnixFS for automatic chunking of bigger files, or pass --allow-big-block to overrideSee how a 1MiB chunk can't be imported. |
|
Thanks @Jorropo and @gammazero for flagging. This is a bug we ned to fix before shipping IPIP-499 in 0.40.0-rc1. This PR one is bit old, so created new PR #11185 with the limit raised to 2MiB on both kubo and boxo sides, plus boundary tests for Also added regression tests for the libp2p message size hard limit (~4MiB) to inform future spec evolution (+ catch any breaking change in go-libp2p, as it is happening very often recently) |
This is needed because the 1MiB limit is the chunker limit, however the
actual blocks can be wrapped in protobuf which adds a small ~10 byte
overhead.